package mil.nga.dice.report.tests;
import android.net.Uri;
import android.os.Environment;
import android.os.Parcel;
import android.test.suitebuilder.annotation.MediumTest;
import junit.framework.TestCase;
import mil.nga.dice.report.Report;
import java.io.File;
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
public class ReportTest extends TestCase {
@MediumTest
public void testWritesAndReadsToParcel() {
Report r = new Report();
r.setDescription("test parcelling");
r.setEnabled(true);
r.setError("none");
r.setId("1234");
r.setLat(20.0);
r.setLon(100.0);
r.setPath(new File(Environment.getExternalStorageDirectory(), "test/reports/test_report"));
r.setSourceFile(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "test/report.zip")));
r.setThumbnail("thumbnail");
r.setTitle("Test Report");
Parcel parcel = Parcel.obtain();
r.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
Report fromParcel = Report.CREATOR.createFromParcel(parcel);
assertThat(fromParcel.getDescription(), equalTo(r.getDescription()));
assertThat(fromParcel.getError(), equalTo(r.getError()));
assertThat(fromParcel.getFileExtension(), equalTo(r.getFileExtension()));
assertThat(fromParcel.getSourceFileName(), equalTo(r.getSourceFileName()));
assertThat(fromParcel.getId(), equalTo(r.getId()));
assertThat(fromParcel.getLat(), equalTo(r.getLat()));
assertThat(fromParcel.getLon(), equalTo(r.getLon()));
assertThat(fromParcel.getPath(), equalTo(r.getPath()));
assertThat(fromParcel.getSourceFile(), equalTo(r.getSourceFile()));
assertThat(fromParcel.getThumbnail(), equalTo(r.getThumbnail()));
assertThat(fromParcel.getTitle(), equalTo(r.getTitle()));
}
@MediumTest
public void testParcelsNullValues() {
Report r = new Report();
r.setDescription(null);
r.setEnabled(false);
r.setError(null);
r.setId(null);
r.setLat(null);
r.setLon(null);
r.setPath(null);
r.setSourceFile(null);
r.setThumbnail(null);
r.setTitle(null);
Parcel parcel = Parcel.obtain();
r.writeToParcel(parcel, 0);
parcel.setDataPosition(0);
Report fromParcel = Report.CREATOR.createFromParcel(parcel);
assertNull(fromParcel.getDescription());
assertFalse(fromParcel.isEnabled());
assertNull(fromParcel.getError());
assertNull(fromParcel.getId());
assertNull(fromParcel.getLat());
assertNull(fromParcel.getLon());
assertNull(fromParcel.getPath());
assertNull(fromParcel.getSourceFile());
assertNull(fromParcel.getThumbnail());
assertNull(fromParcel.getTitle());
}
}